package com.flyduck.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.flyduck.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.flyduck.vo.*;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author flyduck
 * @since 2024-05-27
 */
public interface SysUserService {

    SysUserDetailsRespVO getUserDetailsById(Long id);

    Page<SysUserRespVO> getUserPageBySysUserQueryReqVO(Page page, SysUserQueryReqVO sysUserQueryReqVO);

    void saveUser(SysUserSaveReqVO sysUserSaveReqVO);

    void updateUser(SysUserUpdateReqVO sysUserUpdateReqVO);

    void deleteByIds(List<Long> ids);

    void assignRolesToUser(Long userId, List<Long> roleIds);

    void repassByUserId(Long userId);

    void updatePassByUsername(SysUserPasswordUpdateReqVO sysUserPasswordUpdateReqVO, String username);
}
